﻿
namespace SvGame.Objects;

[Desc("Npc")]
public partial class Npc
{
    #region 存档

    [Desc("UID")]
    public long Uid = 0;
    [Desc("ID")]
    public int ConfigId = 0;

    [Desc("金币")]
    public long Gold = 0;
    [Desc("宝石")]
    public long Gem = 0;

    [Desc("年龄")]
    public int Age = 1;
    [Desc("经验值")]
    public long Exp { get; set; } = 0;


    [Desc("状态当前值")]
    public Status StatusCur { get; set; } = new();
    [Desc("状态有效值")]
    public Status StatusEff { get; set; } = new();
    [Desc("状态最大值")]
    public Status StatusMax { get; set; } = new();

    [Desc("天赋")]
    public Talent Talent { get; set; } = new();

    [Desc("技能列表")]
    public Dictionary<string, int> Skills { get; set; } = new Dictionary<string, int>();
    [Desc("激发列表")]
    public Dictionary<string, string> Usages { get; set; } = new Dictionary<string, string>();

    [Desc("装备")]
    public Dictionary<long, Equip> DictEquip { get; set; } = new();

    [Desc("穿戴")]
    public Dictionary<EEquipType, long> DictWear { get; set; } = new Dictionary<EEquipType, long>();


    #endregion

    #region 不存档 //[JsonIgnore]

    [Desc("配置")]
    [JsonIgnore]
    public ConfigNpcExt Cfg;

    #endregion

    public bool CanFight => Cfg.SettBase.CanFight;

}
